using System;
using System.Collections.Generic;
using System.Data.Linq.Mapping;
using InfoTech.Core.Data.Attributes;
using InfoTech.Core.Data.Dataable;
using InfoTech.Core.Data.Persistence;
using InfoTech.Utilities.Generic;

namespace InfoTech.LanTranh.MucVu.Bussiness
{
	[Serializable]
	[ExtraTable(Name = "GIAODAN", Schema="dbo")]
	[Table(Name = "[dbo].[GIAODAN]")]
	public partial class GIAODAN : ObjPersistence, IDeleteable, IUpdateable, IInsertable, ISelectable, IDeleteablebyId, IUpdateablebyId, ISelectablebyId
	{

		#region Fields

		private System.Guid _magiaodan;

		private System.String _tenthanh;

		private System.String _hovatendem;

		private System.String _ten;

		private System.String _dienthoai;

		private System.Guid? _maquocgia;

		private System.Guid? _matinhthanh;

		private System.Guid? _maquanhuyen;

		private System.Guid? _maxaphuong;

		private System.Guid? _magiaophan;

		private System.Guid? _magiaohat;

		private System.Guid? _magiaoxu;

		private System.Guid? _magiaoho;

		private System.Boolean? _gioitinh;

		private System.String _dantoc;

		private System.Guid? _parentid;

		private System.Guid? _motherid;

		private System.String _diachi;

		private System.Int32? _giaodanid;

		private System.String _tencha;

		private System.String _tenme;

		private System.Boolean? _tathe;

		private System.Int32? _ngaysinh;

		private System.Int32? _thangsinh;

		private System.Int32? _namsinh;

		private System.Boolean? _luuso;

		private IEnumerable<HOGIADINH_GIAODAN> _ref_hogiadinh_giaodan;

		private IEnumerable<SOBITICH> _ref_sobitich;

		private IEnumerable<SOHONNHAN> _ref_sohonnhan;

		private IEnumerable<SOTANHIEN> _ref_sotanhien;

		private IEnumerable<SOTATHE> _ref_sotathe;

		private IEnumerable<SOXUCDAU> _ref_soxucdau;

		private IEnumerable<GIAODAN_DIACHI> _ref_giaodan_diachi;

		private IEnumerable<GIAODAN_QUANHEGIATOC> _ref_giaodan_quanhegiatoc;

		private IEnumerable<HOGIADINH> _ref_hogiadinh;

		private XAPHUONG _prt_xaphuong;

		private QUOCGIA _prt_quocgia;

		private GIAOXU _prt_giaoxu;

		private GIAOHO _prt_giaoho;

		private GIAOPHAN _prt_giaophan;

		private QUANHUYEN _prt_quanhuyen;

		private GIAOHAT _prt_giaohat;

		private TINHTHANH _prt_tinhthanh;

		#endregion

		#region Properties

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = false)]
		[Column(Name = "MAGIAODAN", DbType = "uniqueidentifier", IsPrimaryKey = true, CanBeNull = false)]
		public System.Guid MAGIAODAN
		{
			get
			{
				return _magiaodan;
			}
			set
			{
				OnChanged(this, "MAGIAODAN");
				_magiaodan = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 500, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "TENTHANH", DbType = "nvarchar(500)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String TENTHANH
		{
			get
			{
				return _tenthanh;
			}
			set
			{
				OnChanged(this, "TENTHANH");
				_tenthanh = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 500, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "HOVATENDEM", DbType = "nvarchar(500)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String HOVATENDEM
		{
			get
			{
				return _hovatendem;
			}
			set
			{
				OnChanged(this, "HOVATENDEM");
				_hovatendem = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 100, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "TEN", DbType = "nvarchar(100)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String TEN
		{
			get
			{
				return _ten;
			}
			set
			{
				OnChanged(this, "TEN");
				_ten = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 20, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "DIENTHOAI", DbType = "nvarchar(20)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String DIENTHOAI
		{
			get
			{
				return _dienthoai;
			}
			set
			{
				OnChanged(this, "DIENTHOAI");
				_dienthoai = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAQUOCGIA", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAQUOCGIA
		{
			get
			{
				return _maquocgia;
			}
			set
			{
				OnChanged(this, "MAQUOCGIA");
				_maquocgia = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MATINHTHANH", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MATINHTHANH
		{
			get
			{
				return _matinhthanh;
			}
			set
			{
				OnChanged(this, "MATINHTHANH");
				_matinhthanh = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAQUANHUYEN", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAQUANHUYEN
		{
			get
			{
				return _maquanhuyen;
			}
			set
			{
				OnChanged(this, "MAQUANHUYEN");
				_maquanhuyen = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAXAPHUONG", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAXAPHUONG
		{
			get
			{
				return _maxaphuong;
			}
			set
			{
				OnChanged(this, "MAXAPHUONG");
				_maxaphuong = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAGIAOPHAN", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAGIAOPHAN
		{
			get
			{
				return _magiaophan;
			}
			set
			{
				OnChanged(this, "MAGIAOPHAN");
				_magiaophan = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAGIAOHAT", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAGIAOHAT
		{
			get
			{
				return _magiaohat;
			}
			set
			{
				OnChanged(this, "MAGIAOHAT");
				_magiaohat = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAGIAOXU", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAGIAOXU
		{
			get
			{
				return _magiaoxu;
			}
			set
			{
				OnChanged(this, "MAGIAOXU");
				_magiaoxu = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MAGIAOHO", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MAGIAOHO
		{
			get
			{
				return _magiaoho;
			}
			set
			{
				OnChanged(this, "MAGIAOHO");
				_magiaoho = value;
			}
		}

		[ExtraColumn(DbType = "bit", Length = 0, TypeName = "System.Boolean", Type = typeof(System.Boolean), CanBeNull = true)]
		[Column(Name = "GIOITINH", DbType = "bit", IsPrimaryKey = false, CanBeNull = true)]
		public System.Boolean? GIOITINH
		{
			get
			{
				return _gioitinh;
			}
			set
			{
				OnChanged(this, "GIOITINH");
				_gioitinh = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 100, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "DANTOC", DbType = "nvarchar(100)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String DANTOC
		{
			get
			{
				return _dantoc;
			}
			set
			{
				OnChanged(this, "DANTOC");
				_dantoc = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "PARENTID", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? PARENTID
		{
			get
			{
				return _parentid;
			}
			set
			{
				OnChanged(this, "PARENTID");
				_parentid = value;
			}
		}

		[ExtraColumn(DbType = "uniqueidentifier", Length = 0, TypeName = "System.Guid", Type = typeof(System.Guid), CanBeNull = true)]
		[Column(Name = "MOTHERID", DbType = "uniqueidentifier", IsPrimaryKey = false, CanBeNull = true)]
		public System.Guid? MOTHERID
		{
			get
			{
				return _motherid;
			}
			set
			{
				OnChanged(this, "MOTHERID");
				_motherid = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 1000, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "DIACHI", DbType = "nvarchar(1000)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String DIACHI
		{
			get
			{
				return _diachi;
			}
			set
			{
				OnChanged(this, "DIACHI");
				_diachi = value;
			}
		}

		[ExtraColumn(DbType = "int", Length = 0, TypeName = "System.Int32", Type = typeof(System.Int32), CanBeNull = true)]
		[Column(Name = "GIAODANID", DbType = "int", IsPrimaryKey = false, CanBeNull = true)]
		public System.Int32? GIAODANID
		{
			get
			{
				return _giaodanid;
			}
			set
			{
				OnChanged(this, "GIAODANID");
				_giaodanid = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 1000, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "TENCHA", DbType = "nvarchar(1000)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String TENCHA
		{
			get
			{
				return _tencha;
			}
			set
			{
				OnChanged(this, "TENCHA");
				_tencha = value;
			}
		}

		[ExtraColumn(DbType = "nvarchar", Length = 1000, TypeName = "System.String", Type = typeof(System.String), CanBeNull = true)]
		[Column(Name = "TENME", DbType = "nvarchar(1000)", IsPrimaryKey = false, CanBeNull = true)]
		public System.String TENME
		{
			get
			{
				return _tenme;
			}
			set
			{
				OnChanged(this, "TENME");
				_tenme = value;
			}
		}

		[ExtraColumn(DbType = "bit", Length = 0, TypeName = "System.Boolean", Type = typeof(System.Boolean), CanBeNull = true)]
		[Column(Name = "TATHE", DbType = "bit", IsPrimaryKey = false, CanBeNull = true)]
		public System.Boolean? TATHE
		{
			get
			{
				return _tathe;
			}
			set
			{
				OnChanged(this, "TATHE");
				_tathe = value;
			}
		}

		[ExtraColumn(DbType = "int", Length = 0, TypeName = "System.Int32", Type = typeof(System.Int32), CanBeNull = true)]
		[Column(Name = "NGAYSINH", DbType = "int", IsPrimaryKey = false, CanBeNull = true)]
		public System.Int32? NGAYSINH
		{
			get
			{
				return _ngaysinh;
			}
			set
			{
				OnChanged(this, "NGAYSINH");
				_ngaysinh = value;
			}
		}

		[ExtraColumn(DbType = "int", Length = 0, TypeName = "System.Int32", Type = typeof(System.Int32), CanBeNull = true)]
		[Column(Name = "THANGSINH", DbType = "int", IsPrimaryKey = false, CanBeNull = true)]
		public System.Int32? THANGSINH
		{
			get
			{
				return _thangsinh;
			}
			set
			{
				OnChanged(this, "THANGSINH");
				_thangsinh = value;
			}
		}

		[ExtraColumn(DbType = "int", Length = 0, TypeName = "System.Int32", Type = typeof(System.Int32), CanBeNull = true)]
		[Column(Name = "NAMSINH", DbType = "int", IsPrimaryKey = false, CanBeNull = true)]
		public System.Int32? NAMSINH
		{
			get
			{
				return _namsinh;
			}
			set
			{
				OnChanged(this, "NAMSINH");
				_namsinh = value;
			}
		}

		[ExtraColumn(DbType = "bit", Length = 0, TypeName = "System.Boolean", Type = typeof(System.Boolean), CanBeNull = true)]
		[Column(Name = "LUUSO", DbType = "bit", IsPrimaryKey = false, CanBeNull = true)]
		public System.Boolean? LUUSO
		{
			get
			{
				return _luuso;
			}
			set
			{
				OnChanged(this, "LUUSO");
				_luuso = value;
			}
		}

		public IEnumerable<HOGIADINH_GIAODAN> REF_HOGIADINH_GIAODAN
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_hogiadinh_giaodan == null))
					InfoTech.Core.Data.Receiver.TypeObject<HOGIADINH_GIAODAN>.Select(this, "REF_HOGIADINH_GIAODAN", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_hogiadinh_giaodan;
			}
			set
			{
				_ref_hogiadinh_giaodan = value;
			}
		}

		public IEnumerable<SOBITICH> REF_SOBITICH
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_sobitich == null))
					InfoTech.Core.Data.Receiver.TypeObject<SOBITICH>.Select(this, "REF_SOBITICH", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_sobitich;
			}
			set
			{
				_ref_sobitich = value;
			}
		}

		public IEnumerable<SOHONNHAN> REF_SOHONNHAN
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_sohonnhan == null))
					InfoTech.Core.Data.Receiver.TypeObject<SOHONNHAN>.Select(this, "REF_SOHONNHAN", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN_CHONG"), new Vector<string, string>("MAGIAODAN", "MAGIAODAN_VO"), new Vector<string, string>("MAGIAODAN", "MANHANCHUNG1"), new Vector<string, string>("MAGIAODAN", "MANHANCHUNG2"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_sohonnhan;
			}
			set
			{
				_ref_sohonnhan = value;
			}
		}

		public IEnumerable<SOTANHIEN> REF_SOTANHIEN
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_sotanhien == null))
					InfoTech.Core.Data.Receiver.TypeObject<SOTANHIEN>.Select(this, "REF_SOTANHIEN", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_sotanhien;
			}
			set
			{
				_ref_sotanhien = value;
			}
		}

		public IEnumerable<SOTATHE> REF_SOTATHE
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_sotathe == null))
					InfoTech.Core.Data.Receiver.TypeObject<SOTATHE>.Select(this, "REF_SOTATHE", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_sotathe;
			}
			set
			{
				_ref_sotathe = value;
			}
		}

		public IEnumerable<SOXUCDAU> REF_SOXUCDAU
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_soxucdau == null))
					InfoTech.Core.Data.Receiver.TypeObject<SOXUCDAU>.Select(this, "REF_SOXUCDAU", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_soxucdau;
			}
			set
			{
				_ref_soxucdau = value;
			}
		}

		public IEnumerable<GIAODAN_DIACHI> REF_GIAODAN_DIACHI
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_giaodan_diachi == null))
					InfoTech.Core.Data.Receiver.TypeObject<GIAODAN_DIACHI>.Select(this, "REF_GIAODAN_DIACHI", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_giaodan_diachi;
			}
			set
			{
				_ref_giaodan_diachi = value;
			}
		}

		public IEnumerable<GIAODAN_QUANHEGIATOC> REF_GIAODAN_QUANHEGIATOC
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_giaodan_quanhegiatoc == null))
					InfoTech.Core.Data.Receiver.TypeObject<GIAODAN_QUANHEGIATOC>.Select(this, "REF_GIAODAN_QUANHEGIATOC", new[] { new Vector<string, string>("MAGIAODAN", "MAGIAODAN"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_giaodan_quanhegiatoc;
			}
			set
			{
				_ref_giaodan_quanhegiatoc = value;
			}
		}

		public IEnumerable<HOGIADINH> REF_HOGIADINH
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _ref_hogiadinh == null))
					InfoTech.Core.Data.Receiver.TypeObject<HOGIADINH>.Select(this, "REF_HOGIADINH", new[] { new Vector<string, string>("MAGIAODAN", "MACHUHO"), }, InfoTech.Core.Data.RelationType.OnetoMany);
				return _ref_hogiadinh;
			}
			set
			{
				_ref_hogiadinh = value;
			}
		}

		public XAPHUONG PRT_XAPHUONG
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_xaphuong == default(XAPHUONG)))
					InfoTech.Core.Data.Receiver.TypeObject<XAPHUONG>.Select(this, "PRT_XAPHUONG", new[] { new Vector<string, string>("MAXAPHUONG", "MAXAPHUONG"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_xaphuong;
			}
			set
			{
				_prt_xaphuong = value;
			}
		}

		public QUOCGIA PRT_QUOCGIA
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_quocgia == default(QUOCGIA)))
					InfoTech.Core.Data.Receiver.TypeObject<QUOCGIA>.Select(this, "PRT_QUOCGIA", new[] { new Vector<string, string>("MAQUOCGIA", "MAQUOCGIA"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_quocgia;
			}
			set
			{
				_prt_quocgia = value;
			}
		}

		public GIAOXU PRT_GIAOXU
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_giaoxu == default(GIAOXU)))
					InfoTech.Core.Data.Receiver.TypeObject<GIAOXU>.Select(this, "PRT_GIAOXU", new[] { new Vector<string, string>("MAGIAOXU", "MAGIAOXU"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_giaoxu;
			}
			set
			{
				_prt_giaoxu = value;
			}
		}

		public GIAOHO PRT_GIAOHO
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_giaoho == default(GIAOHO)))
					InfoTech.Core.Data.Receiver.TypeObject<GIAOHO>.Select(this, "PRT_GIAOHO", new[] { new Vector<string, string>("MAGIAOHO", "MAGIAOHO"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_giaoho;
			}
			set
			{
				_prt_giaoho = value;
			}
		}

		public GIAOPHAN PRT_GIAOPHAN
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_giaophan == default(GIAOPHAN)))
					InfoTech.Core.Data.Receiver.TypeObject<GIAOPHAN>.Select(this, "PRT_GIAOPHAN", new[] { new Vector<string, string>("MAGIAOPHAN", "MAGIAOPHAN"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_giaophan;
			}
			set
			{
				_prt_giaophan = value;
			}
		}

		public QUANHUYEN PRT_QUANHUYEN
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_quanhuyen == default(QUANHUYEN)))
					InfoTech.Core.Data.Receiver.TypeObject<QUANHUYEN>.Select(this, "PRT_QUANHUYEN", new[] { new Vector<string, string>("MAQUANHUYEN", "MAQUANHUYEN"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_quanhuyen;
			}
			set
			{
				_prt_quanhuyen = value;
			}
		}

		public GIAOHAT PRT_GIAOHAT
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_giaohat == default(GIAOHAT)))
					InfoTech.Core.Data.Receiver.TypeObject<GIAOHAT>.Select(this, "PRT_GIAOHAT", new[] { new Vector<string, string>("MAGIAOHAT", "MAGIAOHAT"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_giaohat;
			}
			set
			{
				_prt_giaohat = value;
			}
		}

		public TINHTHANH PRT_TINHTHANH
		{
			get
			{
				if (RefreshType == InfoTech.Core.Data.RefreshType.Allway || (RefreshType == InfoTech.Core.Data.RefreshType.OnlyonNull && _prt_tinhthanh == default(TINHTHANH)))
					InfoTech.Core.Data.Receiver.TypeObject<TINHTHANH>.Select(this, "PRT_TINHTHANH", new[] { new Vector<string, string>("MATINHTHANH", "MATINHTHANH"), }, InfoTech.Core.Data.RelationType.OnetoOne);
				return _prt_tinhthanh;
			}
			set
			{
				_prt_tinhthanh = value;
			}
		}

		#endregion

		#region Reflector

		public System.Type Reflector()
		{
			return typeof(GIAODAN);
		}
		public object Current
		{
			get { return this; }
		}

		#endregion

	}
}
